package com.qf.controller;

import com.qf.entity.StuVo;
import com.qf.entity.StuVoWithSubject;
import com.qf.service.StuVoService;
import com.qf.util.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * --- 年少有为 ---
 *
 * @author ChenZhuo
 * @date 2025/8/16
 * @desc
 */
@RestController
@Api(tags = "关于stu表的多表联查")
public class StuVoController {
    @Autowired
    private StuVoService stuVoService;
    @GetMapping("/stuvo/findwith")
    @ApiOperation("查询所有学生信息以及关联的班级信息")
    public R stuVoWithClassroomByCid(){
        List<StuVo> stuVoList=stuVoService.stuVoWithClassroomByCid();
        if(stuVoList==null){
            return R.fail();
        }
        return R.success(stuVoList);
    }

    @GetMapping("/stuvo/findwithsubject")
    @ApiOperation(" 查询一个学生信息以及所学习的所有学科信息")
    public R stuVoWithSubjectBySid(int id){
        List<StuVoWithSubject> stuVoList=stuVoService.stuVoWithSubjectBySid(id);
        if(stuVoList==null){
            return R.fail();
        }
        return R.success(stuVoList);
    }

    @GetMapping("/stuvo/findwithsubjectvos")
    @ApiOperation(" 查询一个学生信息以及所学习的所有学科信息,以及每个学科关联的老师信息")
    public R stuVoWithSubjectVosBySid(int id){
        List<StuVoWithSubject> stuVoList=stuVoService.stuVoWithSubjectVosBySid(id);
        if(stuVoList==null){
            return R.fail();
        }
        return R.success(stuVoList);
    }


}
